Verification of Liveness Properties in Transactional Memories
نویسنده
چکیده
Transactional memory (TM) is a concurrency control mechanism that avoids common problems associated with conventional locking techniques. The correctness of concurrent programs employing a TM implementation depends on the correctness of the TM implementation. Therefore, it is important to ensure that the implementation satisfies correctness properties such as safety and liveness properties. Safety properties can be ensured by simply aborting operations. Therefore, besides safety properties it is necessary to ensure liveness properties that guarantee progress of threads. Verifying liveness properties of TMs is a difficult task due to the unbounded number of variables and threads. However, if a TM implementation satisfies certain symmetry properties, it is possible to reduce the model checking problem of the implementation to a finite state problem.
منابع مشابه
Permissiveness in Transactional Memories
We introduce the notion of permissiveness in transactional memories (TM). Intuitively, a TM is permissive if it never aborts a transaction when it need not. More specifically, a TM is permissive with respect to a safety property p if the TM accepts every history that satisfies p. Permissiveness, like safety and liveness, can be used as a metric to compare TMs. We illustrate that it is impractic...
متن کاملFormalizing and Verifying Transactional Memories
Transactional memory (TM) has shown potential to simplify the task of writing concurrent programs. TM shifts the burden of managing concurrency from the programmer to the TM algorithm. The correctness of TM algorithms is generally proved manually. The goal of this thesis is to provide the mathematical and software tools to automatically verify TM algorithms under realistic memory models. Our fi...
متن کاملMechanical Verification of Transactional Memories with Non-transactional Memory Accesses
Transactional memory is a programming abstraction intended to simplify the synchronization of conflicting memory accesses (by concurrent threads) without the difficulties associated with locks. In a previous work we presented a formal framework for proving that a transactional memory implementation satisfies its specifications and provided with model checking verification of some using small in...
متن کاملProcesses with local and global liveness requirements
The deterministic QS model, introduced in [CS95], captures (local) liveness properties, commonly specified in Temporal Logic, and not fully captured by nondeterministic process models. Liveness explains how some processes engage spontaneously in some actions and wait passively for the triggering of other actions by other processes. In this paper, we extend the QS model to describe liveness prop...
متن کاملUnder consideration for publication in Formal Aspects of Computing Processes with Local and Global Liveness Requirements
The deterministic QS model, introduced in [CS95], captures (local) liveness properties, commonly specified in Temporal Logic, and not fully captured by non-deterministic process models. Liveness explains how some processes engage spontaneously in some actions and wait passively for the triggering of other actions by other processes. In this paper, we extend the QS model to describe liveness pro...
متن کامل